
# 导包 （将接口对象层（api）封装的接口导入）
from api.login import LoginAPI
# 创建测试类
class TestLoginAPI:
    uid= None
    #前置处理
    def setup_method(self):
        # 前置处理里面做的第一件事就是把第一步导入进来的接口实例化为一个对象
        self.login_api = LoginAPI()
        #     前置处理里面做的第二件事，如果下面的测试用例方法需要用到动态值的话，把动态值提取出来
        #     将验证码产生的uuid提取出来
        # 拿到验证码接口的完整响应
        resp = self.login_api.get_verify_code()
        TestLoginAPI.uid = resp.json().get("uuid")

    # 后置处理
    def teardown_method(self):
         pass
    # 编写测试用例方法
    # 用例1：登陆成功
    def test01_success(self):
        login_data={"username":"admin", "password":"HM_2023_test","code":"2", "uuid": TestLoginAPI.uid}
        resp=self.login_api.login(test_data=login_data)
        # 断言
        assert 200 == resp.json().get("code")
        assert "成功" == resp.json().get("msg")
        assert 200 == resp.status_code
    # 登录失败（用户名为空）
    def test02_without_username(self):
             pass
    # 登录失败（未注册的用户名）
    def test03_username_not_existx(self):
        pass